package com.icss.train_sys_back.entity.home;

import com.icss.train_sys_back.entity.ticket_manage.TicketEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 订单实体类
 * 对应数据库表：t_order
 * 记录用户购票订单的核心信息
 *
 * @author 小泽
 * @createTime 2025/10/13 10:09
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
public class OrderEntity {

    /**
     * 订单编号 - 主键
     */
    private String orderId;

    /**
     * 下单用户ID
     */
    private Integer userId;

    /**
     * 车票ID
     */
    private String ticketId;

    /**
     * 订单总金额
     */
    private BigDecimal orderPrice;

    /**
     * 订单状态：0-待支付，1-已支付，2-已取消，3-退票
     */
    private Integer orderStatus = 0;

    /**
     * 支付方式：1-支付宝，2-微信
     */
    private Integer paymentType ;

    /**
     * 创建时间
     */
    private LocalDateTime createTime = LocalDateTime.now();

    /**
     * 支付时间
     */
    private LocalDateTime payTime;
    /**
     * 与车票相关联的字段  一对一
     */
    private TicketEntity ticket;
    /**
     * 与乘车人相关联的字段 一对多
     */
    private List<OrderPassengerDTO> orderPassengerDTOList;

}
